package 一五省;

/**
 * 还是递归13次，不过这次递归的是每一种牌的取得个数。也就是在13次的递归之中，每一次研究当前这种牌能取多少（具体一点就是比如说该考虑8这张牌了，那么有5种可能，从一张不拿到四张全拿），当递归次数达到13时，直接比较当前牌的总数是不是13。当然优化的方法是直接把另外一个条件也作为结束递归的标志：“目前的牌的总数大于了13，那么之后就算全部不取都无法满足条件”。算法复杂度是O(5^n)，这道题目里面n = 13；
 * @author lenovo
 *
 */
public class q7 {

	public static int num = 0;
	
	public static void getResult(int cursum,int curstep){
		if(curstep==13||cursum >=13){
			if(cursum == 13){
				num++;
			}
		}
		else{
			for(int i=0;i<=4;i++){
				getResult(cursum+i,curstep+1);
			}
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		getResult(0,0);
		System.out.println(num);
	}

}
